home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 24
/
Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso
/
Aminet
/
dev
/
misc
/
Hunk.lha
/
Hunk
/
Hoppers
/
Dice_206.hop
< prev
next >
Wrap
Text File
|
1998-02-14
|
8KB
|
184 lines
;*************************************************************************
;** Dice v2.06 (Freeware) **
;** Contributor: L.Lucius Sept 11th 1995 **
;** Modified for HOp: Thomas Richter (thor) Nov 1st 1997 **
;** Function: Modify 68000 math routines to use 68020+ instructions. **
;*************************************************************************
;*************************************************************************
;
; Divs
;
#match
#code
4A81 ; TST.L D1
6B08 ; BMI.B 000C
4A80 ; TST.L D0
6B12 ; BMI.B 001A
6000 YYYY ; BRA.W 0009
4481 ; NEG.L D1
4A80 ; TST.L D0
6B12 ; BMI.B 0024
6100 YYYY ; BSR.W 0013
4480 ; NEG.L D0
4E75 ; RTS
4480 ; NEG.L D0
6100 YYYY ; BSR.W 001D
4480 ; NEG.L D0
4E75 ; RTS
4480 ; NEG.L D0
6000 YYYY ; BRA.W 0027
;
;
#replace
4C41 0801 ; DIVSL.L D1,D1:D0
4E75 ; RTS
#end
;*************************************************************************
;
; Divu
;
#match
#code
4A81 ; TST.L D1
671E ; BEQ.B 0022
4841 ; SWAP D1
4A41 ; TST.W D1
6642 ; BNE.B 004C
2F02 ; MOVE.L D2,-(A7)
4841 ; SWAP D1
2400 ; MOVE.L D0,D2
84C1 ; DIVU.W D1,D2
6914 ; BVS.B 0028
2202 ; MOVE.L D2,D1
4241 ; CLR.W D1
4841 ; SWAP D1
7000 ; MOVEQ #00,D0
3002 ; MOVE.W D2,D0
241F ; MOVE.L (A7)+,D2
4E75 ; RTS
2200 ; MOVE.L D0,D1
70FF ; MOVEQ #FF,D0
4E75 ; RTS
2F03 ; MOVE.L D3,-(A7)
2400 ; MOVE.L D0,D2
4242 ; CLR.W D2
4842 ; SWAP D2
84C1 ; DIVU.W D1,D2
3602 ; MOVE.W D2,D3
4843 ; SWAP D3
4243 ; CLR.W D3
3400 ; MOVE.W D0,D2
84C1 ; DIVU.W D1,D2
3602 ; MOVE.W D2,D3
2003 ; MOVE.L D3,D0
4242 ; CLR.W D2
4842 ; SWAP D2
2202 ; MOVE.L D2,D1
261F ; MOVE.L (A7)+,D3
241F ; MOVE.L (A7)+,D2
4E75 ; RTS
48E7 3800 ; MOVEM.L D2-D4,-(A7)
2400 ; MOVE.L D0,D2
4242 ; CLR.W D2
4842 ; SWAP D2
84C1 ; DIVU.W D1,D2
3602 ; MOVE.W D2,D3
7400 ; MOVEQ #00,D2
3403 ; MOVE.W D3,D2
C6C1 ; MULU.W D1,D3
4841 ; SWAP D1
3802 ; MOVE.W D2,D4
C8C1 ; MULU.W D1,D4
4843 ; SWAP D3
D684 ; ADD.L D4,D3
9083 ; SUB.L D3,D0
6B0A ; BMI.B 0078
2200 ; MOVE.L D0,D1
2002 ; MOVE.L D2,D0
4CDF 001C ; MOVEM.L (A7)+,D2-D4
4E75 ; RTS
5382 ; SUBQ.L #1,D2
D081 ; ADD.L D1,D0
6BFA ; BMI.B 0078
2200 ; MOVE.L D0,D1
2002 ; MOVE.L D2,D0
4CDF 001C ; MOVEM.L (A7)+,D2-D4
4E75 ; RTS
;
;
#replace
4C41 0001 ; DIVUL.L D1,D1:D0
4E75 ; RTS
#end
;*************************************************************************
;
; Mods
;
#match
#code
4A81 ; TST.L D1
6B0C ; BMI.B 0010
4A80 ; TST.L D0
6B18 ; BMI.B 0020
6100 YYYY ; BSR.W 0009
2001 ; MOVE.L D1,D0
4E75 ; RTS
4481 ; NEG.L D1
4A80 ; TST.L D0
6B16 ; BMI.B 002C
6100 YYYY ; BSR.W 0017
4481 ; NEG.L D1
2001 ; MOVE.L D1,D0
4E75 ; RTS
4480 ; NEG.L D0
6100 YYYY ; BSR.W 0023
4481 ; NEG.L D1
2001 ; MOVE.L D1,D0
4E75 ; RTS
4480 ; NEG.L D0
6100 FFFF ; BSR.W 002F
2001 ; MOVE.L D1,D0
4E75 ; RTS
;
;
#replace
4C41 0801 ; DIVSL.L D1,D1:D0
C141 ; EXG D0,D1
4E75 ; RTS
#end
;*************************************************************************
;
; Mulu/Muls
;
#match
#code
48E7 C000 ; MOVEM.L D0-D1,-(A7)
4840 ; SWAP D0
C0C1 ; MULU.W D1,D0
4841 ; SWAP D1
C2EF 0002 ; MULU.W 0002(A7),D1
D081 ; ADD.L D1,D0
4840 ; SWAP D0
4240 ; CLR.W D0
322F 0002 ; MOVE.W 0002(A7),D1
C2EF 0006 ; MULU.W 0006(A7),D1
D081 ; ADD.L D1,D0
508F ; ADDQ.L #8,A7
4E75 ; RTS
;
;
#replace
4C01 0000 ; MULU.L D1,D0
4E75 ; RTS
#end